class Solution {
    public int add(int a, int b) {
        while(b!=0) {
            //进位和不考虑进位的相加得到的结果就是考虑进位时的相加结果
            //进位
            int c = (a&b)<<1;
            //不考虑进位的相加
            a = a^b;
            //让下次a加的是进位和不考虑进位的相加
            b = c;
            //如果进位为零证明不需要再求进位了,a加的是最后一次了
        }
        return a;
    }
}